package test

import "fmt"

// DBConfig 定义数据连接信息的结构体
type DBConfig struct {
	User     string
	Password string
	Host     string
	Port     string
	Database string
}

// DBCommon 定义一个数据库操作接口
type DBCommon interface {
	Insert(string) error
	Update(string) error
	Delete(string) error
}

// Mysql 定义一个类型去实现这个接口
type Mysql struct {
	Config DBConfig
}

func (m Mysql) Insert(data string) error {
	fmt.Printf("插入数据到Mysql%s\n", data)
	return nil
}
func (m Mysql) Update(data string) error {
	fmt.Printf("更新数据到Mysql%s\n", data)
	return nil
}
func (m Mysql) Delete(data string) error {
	fmt.Printf("删除数据到Mysql%s", data)
	return nil
}
func main() {
	db := DBConfig{"root", "password", "127.0.0.1", "3306", "default"}
	var m Mysql
	m.Config = db
	var dbCommonInterface DBCommon
	dbCommonInterface = m
	dbCommonInterface.Insert("插入数据")
	dbCommonInterface.Update("更新数据")
	dbCommonInterface.Delete("删除数据")

}
